﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using AccesoDatos.Manejador;
using AccesoDatos;

namespace RMA.Pantallas
{
    public partial class frm_RecepcionMercancia : Form 
    {
        public frm_RecepcionMercancia()
        {
            InitializeComponent();
        }
        clsRecepcionMercancia Objeto = new clsRecepcionMercancia();
        Manejador_Recepcion manejador = new Manejador_Recepcion();

        private void limpiar(Form a)
        {
            foreach (object obj in a.Controls)
            {
                if (obj is GroupBox)
                {
                    foreach (object obj1 in ((GroupBox)obj).Controls)
                    {
                        if (obj1 is TextBox)
                        {
                            ((TextBox)obj1).Text = "";
                        }
                    }
                }
                if (obj is TextBox) { ((TextBox)obj).Text = ""; }
                //if (obj is Label) { if (((Label)obj).Name.Substring(1, 3) == "lbl") { ((Label)obj).Text = ""; } }

            }
            
        }

        private void asignar_valores() 
        {
            txtCodigo.Text = Objeto.Producto;
            txtDescripcion.Text = Objeto.Descripcion;
            txtSerie.Text = Objeto.Serie;
            txtFalla.Text = Objeto.Falla;
            txtRm.Text = Objeto.Rm;
            txtCosto.Text = Objeto.Costo.ToString();
            txtObservaciones.Text = Objeto.Observaciones;
            cmbProveedor.Text = Objeto.Proveedor;
            dtpFecha.Value = Objeto.Fecha;
            txtFactura.Text = Objeto.Factura;
            txtCostoProveedor.Text = Objeto.Costoprov.ToString();
        }

        private void folio_KeyPress(object sender, KeyPressEventArgs e)
        {
            //if (e.KeyChar == (char)13) 
            //{
            //    Objeto = manejador.Informacion_recepcion(txtFolio.Text.Trim());
            //    if (Objeto != null)
            //    {
            //        txtFolio.Enabled = false;
            //        cmbProveedor.DataSource = manejador.cat_proveedores();
            //        cmbProveedor.DisplayMember = "Nombre";
            //        cmbProveedor.ValueMember = "CodPro";
            //        cmbPersona.DataSource = manejador.cat_usuarios();
            //        cmbPersona.DisplayMember = "Nombre";
            //        cmbPersona.ValueMember = "usr_id";
            //        cmbAsignacion.DataSource = manejador.cat_asignaciones();
            //        cmbAsignacion.DisplayMember = "Descripcion_asignacion";
            //        cmbAsignacion.ValueMember = "Id_asignacion";

            //        asignar_valores();
            //        btnGuardar.Enabled = true;
            //    }
            //    else 
            //    {
            //        btnGuardar.Enabled = false;
            //        txtFolio.Enabled = true;
            //    }
            //}
        }

        private void Button1_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnGuardar_Click(object sender, EventArgs e)
        {
            if (txtObservaciones.Text.Trim().Length > 0)
            {
                if (cmbAsignacion.Text.Length > 0)
                {
                    if (cmbPersona.Text.Length > 0)
                    {
                        Objeto.Proveedor = cmbProveedor.SelectedValue.ToString();
                        Objeto.Responsable = int.Parse(cmbPersona.SelectedValue.ToString());
                        Objeto.Observaciones = txtObservaciones.Text.Trim();
                        Objeto.Fecha = dtpFecha.Value;
                        Objeto.Asignacion = int.Parse(cmbAsignacion.SelectedValue.ToString());
                        Objeto.Costoprov = float.Parse(txtCostoProveedor.Text.Trim());
                        Objeto.Rm = txtRm.Text.Trim();
                        Objeto.Folio = txtFolio.Text.Trim();

                        if (manejador.Guardar(Objeto, 1))
                        {
                            MessageBox.Show("Guardado!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            txtFolio.Enabled = true;
                            limpiar(this);
                            txtFolio.Enabled = true;
                            
                        }
                        else 
                        {
                            txtFolio.Enabled = true;
                        }

                    }
                    else
                    {
                        cmbPersona.Focus();
                        MessageBox.Show("Todos los campos son requeridos", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else 
                {
                    cmbAsignacion.Focus();
                    MessageBox.Show("Todos los campos son requeridos", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else 
            {
                txtObservaciones.Focus();
                MessageBox.Show("Todos los campos son requeridos", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

        }

        private void frm_RecepcionMercancia_Load(object sender, EventArgs e)
        {
            cmbPersona.DataSource = manejador.cat_usuarios_recepcion();
            cmbPersona.DisplayMember = "Nombre";
            cmbPersona.ValueMember = "usr_id";
            cmbPersona.SelectedIndex = -1;

            cmbProveedor.DataSource = manejador.cat_proveedores();
            cmbProveedor.DisplayMember = "Nombre";
            cmbProveedor.ValueMember = "CodPro";
            cmbProveedor.SelectedIndex = -1;

            cmbAsignacion.DataSource = manejador.cat_asignaciones();
            cmbAsignacion.DisplayMember = "Descripcion_asignacion";
            cmbAsignacion.ValueMember = "Id_asignacion";
            cmbAsignacion.SelectedIndex = -1;
        }

        private void btnBuscar_Click(object sender, EventArgs e)
        {
            Objeto = manejador.Informacion_recepcion(txtFolio.Text.Trim());
            if (Objeto != null)
            {
                txtFolio.Enabled = false;
                cmbProveedor.DataSource = manejador.cat_proveedores();
                cmbProveedor.DisplayMember = "Nombre";
                cmbProveedor.ValueMember = "CodPro";
                cmbPersona.DataSource = manejador.cat_usuarios_recepcion();
                cmbPersona.DisplayMember = "Nombre";
                cmbPersona.ValueMember = "usr_id";
                cmbAsignacion.DataSource = manejador.cat_asignaciones();
                cmbAsignacion.DisplayMember = "Descripcion_asignacion";
                cmbAsignacion.ValueMember = "Id_asignacion";

                asignar_valores();
                btnGuardar.Enabled = true;
            }
            else
            {
                btnGuardar.Enabled = false;
                txtFolio.Enabled = true;
            }
        }
    }
}
